package com.hbpa.pan.server.modules.file.service;

import com.hbpa.pan.server.modules.file.context.CreateFolderContext;
import com.hbpa.pan.server.modules.file.context.DeleteFileContext;
import com.hbpa.pan.server.modules.file.context.QueryFilelistContext;
import com.hbpa.pan.server.modules.file.context.UpdateFilenameContext;
import com.hbpa.pan.server.modules.file.entity.RPanUserFile;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hbpa.pan.server.modules.file.vo.RPanUserFileVO;
import com.hbpa.pan.server.modules.user.entity.RPanUser;

import java.util.List;

/**
 * 用户文件夹信息业务
 */
public interface IUserFileService extends IService<RPanUserFile> {

    /**
     * 创建文件夹
     * @param createFolderContext
     * @return
     */
    Long createFolder(CreateFolderContext createFolderContext);

    /**
     * 获取用户根文件夹信息
     * @param userId
     * @return
     */
    RPanUserFile getUserRootFile(Long userId);

    /**
     * 查询用户的文件列表
     * @return
     */
    List<RPanUserFileVO> getFileList(QueryFilelistContext queryFilelistContext);

    /**
     * 更新文件名称
     * @param context
     */
    void updateFilename(UpdateFilenameContext context);

    /**
     * 批量删除文件
     * @param context
     * @return
     */
    void deleteFile(DeleteFileContext context);
}
